wait() 和 sleep() 的区别

1、wait() 是 Object 的方法,而 sleep() 是 Thread 的静态方法;

2、sleep() 方法可以在任何地方使用;wait() 方法则只能在同步方法或同步块中使用;

3、sleep() 是线程线程类 (Thread) 的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;wait() 是Object的方法,调用会放弃对象锁,进入等待队列,待调用 notify()/notifyAll() 唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态;